using System;
using System.Collections;

namespace PMG.model
{
	#region ACCOUNT

	/// <summary>
	/// ACCOUNT object for NHibernate mapped table 'ACCOUNT'.
	/// </summary>
	[Serializable]
	public class ACCOUNT
	{
		#region Member Variables
		
		protected int _id;
		protected string _cOMPANY;
		protected string _aDDRESS;
		protected string _zIP;
		protected string _fULLNAME;
		protected string _gENDER;
		protected string _jOB;
		protected string _tEL;
		protected string _mOBILE;
		protected string _fAX;
		protected string _eMAIL;
		protected string _rEMARKS;
		protected DateTime _cREATEDATE;
		protected string _sTATUS;
		protected string _cITY;
		protected string _pROVINCE;
		protected string _pVFROM;
        protected int _questionnaireid;

		#endregion

		#region Constructors

		public ACCOUNT() { }

		public ACCOUNT( string cOMPANY, string aDDRESS, string zIP, string fULLNAME, string gENDER, string jOB, string tEL, string mOBILE, string fAX, string eMAIL, string rEMARKS, DateTime cREATEDATE, string sTATUS, string cITY, string pROVINCE, string pVFROM ,int questionnaireid)
		{
			this._cOMPANY = cOMPANY;
			this._aDDRESS = aDDRESS;
			this._zIP = zIP;
			this._fULLNAME = fULLNAME;
			this._gENDER = gENDER;
			this._jOB = jOB;
			this._tEL = tEL;
			this._mOBILE = mOBILE;
			this._fAX = fAX;
			this._eMAIL = eMAIL;
			this._rEMARKS = rEMARKS;
			this._cREATEDATE = cREATEDATE;
			this._sTATUS = sTATUS;
			this._cITY = cITY;
			this._pROVINCE = pROVINCE;
			this._pVFROM = pVFROM;
            this._questionnaireid = questionnaireid;
		}

		#endregion

		#region Public Properties

		public int Id
		{
			get {return _id;}
			set {_id = value;}
		}

		public string COMPANY
		{
			get { return _cOMPANY; }
			set
			{
				if ( value != null && value.Length > 200)
					throw new ArgumentOutOfRangeException("Invalid value for COMPANY", value, value.ToString());
				_cOMPANY = value;
			}
		}

		public string ADDRESS
		{
			get { return _aDDRESS; }
			set
			{
				if ( value != null && value.Length > 200)
					throw new ArgumentOutOfRangeException("Invalid value for ADDRESS", value, value.ToString());
				_aDDRESS = value;
			}
		}

		public string ZIP
		{
			get { return _zIP; }
			set
			{
				if ( value != null && value.Length > 20)
					throw new ArgumentOutOfRangeException("Invalid value for ZIP", value, value.ToString());
				_zIP = value;
			}
		}

		public string FULLNAME
		{
			get { return _fULLNAME; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for FULLNAME", value, value.ToString());
				_fULLNAME = value;
			}
		}

		public string GENDER
		{
			get { return _gENDER; }
			set
			{
				if ( value != null && value.Length > 10)
					throw new ArgumentOutOfRangeException("Invalid value for GENDER", value, value.ToString());
				_gENDER = value;
			}
		}

		public string JOB
		{
			get { return _jOB; }
			set
			{
				if ( value != null && value.Length > 50)
					throw new ArgumentOutOfRangeException("Invalid value for JOB", value, value.ToString());
				_jOB = value;
			}
		}

		public string TEL
		{
			get { return _tEL; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for TEL", value, value.ToString());
				_tEL = value;
			}
		}

		public string MOBILE
		{
			get { return _mOBILE; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for MOBILE", value, value.ToString());
				_mOBILE = value;
			}
		}

		public string FAX
		{
			get { return _fAX; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for FAX", value, value.ToString());
				_fAX = value;
			}
		}

		public string EMAIL
		{
			get { return _eMAIL; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for EMAIL", value, value.ToString());
				_eMAIL = value;
			}
		}

		public string REMARKS
		{
			get { return _rEMARKS; }
			set
			{
				if ( value != null && value.Length > 2000)
					throw new ArgumentOutOfRangeException("Invalid value for REMARKS", value, value.ToString());
				_rEMARKS = value;
			}
		}

		public DateTime CREATEDATE
		{
			get { return _cREATEDATE; }
			set { _cREATEDATE = value; }
		}

		public string STATUS
		{
			get { return _sTATUS; }
			set
			{
				if ( value != null && value.Length > 10)
					throw new ArgumentOutOfRangeException("Invalid value for STATUS", value, value.ToString());
				_sTATUS = value;
			}
		}

		public string CITY
		{
			get { return _cITY; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for CITY", value, value.ToString());
				_cITY = value;
			}
		}

		public string PROVINCE
		{
			get { return _pROVINCE; }
			set
			{
				if ( value != null && value.Length > 100)
					throw new ArgumentOutOfRangeException("Invalid value for PROVINCE", value, value.ToString());
				_pROVINCE = value;
			}
		}

		public string PVFROM
		{
			get { return _pVFROM; }
			set
			{
				if ( value != null && value.Length > 200)
					throw new ArgumentOutOfRangeException("Invalid value for PVFROM", value, value.ToString());
				_pVFROM = value;
			}
		}

        public int Questionnaireid
        {
            get { return _questionnaireid; }
            set { _questionnaireid = value; }
        }

		

		#endregion
	}
	#endregion
}